package com.cheejee.goodscenter.service;

import java.util.List;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

import org.springframework.validation.annotation.Validated;

import com.cheejee.goodscenter.module.entity.SkuBrandProperties;
import com.cheejee.goodscenter.module.entity.SkuCustomProperties;
import com.github.pagehelper.Page;

/**
 * @author CARRY
 * @Date 2020年10月29日下午1:38:01
 */
@Validated
public interface SkuCustomPropertiesService {
	/**
	 *按条件查询SKU自定义属性
	 *
	 * @param skuId SKUid
	 * @param propertiesName 属性名称
	 * @return
	 */
	Page<SkuCustomProperties> querySkuCustomProperties(Long skuId, String propertiesName, int pageNum, int pageSize);
	
	SkuCustomProperties querySkuCustomPropertiesById(@NotNull(message = "SKU自定义属性ID不能为空")Long id);
	
	int addSkuCustomProperties(SkuCustomProperties properties);
	
	int addSkuCustomProperties(List<SkuCustomProperties> properties);

	int changeSkuCustomProperties(SkuCustomProperties properties);
	
	/**
	 * 修改SKU自定义属性，没有SKU自定义属性需要传空集，不能使用NULL
	 *
	 * @param skuId
	 * @param properties
	 * @return 添加的屬性數量
	 */
	int changeSkuCustomProperties(Long skuId, List<SkuCustomProperties> properties);
	
	int deleteSkuCustomPropertiesBySku(Long skuId);
	
	int deleteSkuCustomProperties(@NotEmpty(message = "删除的SKU自定义属性不能为空") Long[] id);

}